<?php

namespace KGK\UserBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * KGK\UserBundle\Entity\User
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 * @ORM\Entity
 */
class User extends BaseUser
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;


    /**
     * @var string $nom
     *
     * @ORM\Column(name="nom", type="string", length=64)
     *
     * @Assert\NotBlank(message="Entrez votre nom.", groups={"Registration", "Profile"})
     * @Assert\MinLength(limit="3", message="Le nom est trop court.", groups={"Registration", "Profile"})
     * @Assert\MaxLength(limit="64", message="Le nom est trop long.", groups={"Registration", "Profile"})
     */
    private $nom;

    /**
     * @var string $prenom
     *
     * @ORM\Column(name="prenom", type="string", length=64)
     * @Assert\NotBlank(message="Entrez votre prenom.", groups={"Registration", "Profile"})
     * @Assert\MinLength(limit="3", message="Le prenom est trop court.", groups={"Registration", "Profile"})
     * @Assert\MaxLength(limit="64", message="Le prenom est trop long.", groups={"Registration", "Profile"})
     */
    private $prenom;

    /**
     * @var string $adresse
     *
     * @ORM\Column(name="adresse", type="string", length=255)
     * @Assert\NotBlank(message="Entrez votre adresse.", groups={"Registration", "Profile"})
     */
    private $adresse;

    /**
     * @var string $code_postal
     *
     * @ORM\Column(name="code_postal", type="string", length=5)
     * @Assert\MinLength(limit="5", message="Code postal incorrect.", groups={"Registration", "Profile"})
     * @Assert\NotBlank(message="Entrez votre Code postal.", groups={"Registration", "Profile"})
     */
    private $code_postal;

    /**
     * @var string $ville
     *
     * @ORM\Column(name="ville", type="string", length=128)
     * @Assert\NotBlank(message="Entrez votre ville.", groups={"Registration", "Profile"})
     */
    private $ville;

    /**
     * @var string $telephone
     *
     * @ORM\Column(name="telephone", type="string", length=16)
     * @Assert\NotBlank(message="Entrez votre téléphone.", groups={"Registration", "Profile"})
     * @Assert\MaxLength(limit="16", message="Il manque des chiffres.", groups={"Registration", "Profile"})
     */
    private $telephone;

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    public function __construct()
    {
        parent::__construct();
    }

    /**
     * Set nom
     *
     * @param string $nom
     */
    public function setNom($nom)
    {
        $this->nom = $nom;
    }

    /**
     * Get nom
     *
     * @return string 
     */
    public function getNom()
    {
        return $this->nom;
    }

    /**
     * Set prenom
     *
     * @param string $prenom
     */
    public function setPrenom($prenom)
    {
        $this->prenom = $prenom;
    }

    /**
     * Get prenom
     *
     * @return string 
     */
    public function getPrenom()
    {
        return $this->prenom;
    }

    /**
     * Set adresse
     *
     * @param string $adresse
     */
    public function setAdresse($adresse)
    {
        $this->adresse = $adresse;
    }

    /**
     * Get adresse
     *
     * @return string 
     */
    public function getAdresse()
    {
        return $this->adresse;
    }

    /**
     * Set code_postal
     *
     * @param string $codePostal
     */
    public function setCodePostal($codePostal)
    {
        $this->code_postal = $codePostal;
    }

    /**
     * Get code_postal
     *
     * @return string 
     */
    public function getCodePostal()
    {
        return $this->code_postal;
    }

    /**
     * Set ville
     *
     * @param string $ville
     */
    public function setVille($ville)
    {
        $this->ville = $ville;
    }

    /**
     * Get ville
     *
     * @return string 
     */
    public function getVille()
    {
        return $this->ville;
    }

    /**
     * Set telephone
     *
     * @param string $telephone
     */
    public function setTelephone($telephone)
    {
        $this->telephone = $telephone;
    }

    /**
     * Get telephone
     *
     * @return string 
     */
    public function getTelephone()
    {
        return $this->telephone;
    }
}